¿Cómo subir a Apple Store?
Instalación previa
Recuerda revisar la documentación de eas
para las instalaciones previas y la configuración de tu app.
Subir a Apple Store
Aquí hay un buen tutorial, aunque es un poco extenso, ya que lo hace desde cero: Cómo publicar la aplicación en la Apple Store.
Sin embargo, aquí será un poco más breve. Una vez que tengas todo listo con eas
, ten en cuenta que en Apple es más complicado en comparación con Google Play, ya que es más automatizado y requiere más credenciales. Sin embargo, con Expo, gran parte de la responsabilidad recae en ellos.
# Te pedirá el identificador que es com.empresa
eas build --platform ios
Luego, te pedirá tu cuenta de Apple, en la que deberás ingresar tu correo y contraseña. También te solicitará un código de verificación, como si estuvieras ingresando desde el navegador.
Una vez dentro, te preguntará a qué equipo tenemos que acceder y cómo se llama el proyecto. Lo que hará es crear un bundleId
que se guardará en el servidor de expo.dev para poder descargarlo o acceder a él.
Una vez que termines con esto, compilará dentro de expo.dev y desde ahí podrás descargar un archivo .ipa
para usarlo, pero no servirá para subirlo a tiendas.
Subir a tiendas
Para subir a las tiendas, se modifico tu app.json
como el siguiente ejemplo:
// Debajo de assetBundlePatterns
{
"expo": {
"name": "Nombre de app",
"slug": "nombredelproyecto",
"version": "1.0.3",
...
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.empresa.proyectid"
}
}
}
Mandar petición a Apple Store
Ahora, cuando vayas a crear el proyecto desde Apple Developer, te pedirá:
- Nombre
- Lenguaje
- Bundle ID (lo encontrarás con un nombre raro, pero que incluye tu nombre, es el identificador de bundle que creó Expo por ti)
- SKU, que es el
com.empresa.proyectId
, que corresponde albundleIdentifier
Una vez que crees el proyecto, podrás terminar la configuración de eas.json
:
{
"cli": {
"version": ">= 4.1.2"
},
"build": {
// Datos del proyecto
},
"submit": {
"production": {
"ios": {
"appleId": "correo de apple store",
"ascAppId": "Lo encuentras en el proyecto en General/App Information y busca Apple ID",
"appleTeamId": "Lo encuentras en la cuenta de Apple Developer, en Membership => Team ID"
}
}
}
}
Una vez que hayas agregado esos datos, podrás enviar la app automáticamente a las tiendas sin que te pida nuevamente la contraseña y el correo.
Lanza la siguiente petición:
# Esto buscará tu último .ipa y lo subirá a tiendas, en este caso para pruebas internas
eas submit -p ios --latest
A continuación, te preguntará sobre tu clave para subir a tiendas:
[choose an existing ASC Api Key]
: Te pregunta si deseas utilizar una clave de API existente de App Store Connect (ASC) que ya hayas configurado previamente.[add a new ASC Api Key]
: O puedes agregar una nueva clave de API de App Store Connect si no tienes una configurada.[Enter an App Specific Password]
: En caso de que no uses claves API, puedes optar por usar una contraseña específica para la aplicación, la cual se genera desde la cuenta de Apple para aplicaciones o servicios que necesitan autenticarse con App Store Connect.
Para simplificar, puedes elegir Enter an App Specific Password
, lo cual te pedirá el correo y la contraseña nuevamente. Luego comenzará a enviar a tiendas desde Expo, así que solo queda esperar; puedes visualizar el proceso en expo.dev y estará disponible en TestFlight.
Actualizar la app
Recuerda cambiar la versión y el buildNumber
en app.json
:
// Debajo de assetBundlePatterns
{
"expo": {
"name": "Nombre de app",
"slug": "nombredelproyecto",
"version": "1.0.3",
...
"assetBundlePatterns": [
"**/*"
],
// Aquí
// Indica si es para tablets
// El número de build del proyecto
// Y el identificador del proyecto, recuerda que debe ser el mismo que en la Apple Store
"ios": {
"supportsTablet": true,
"buildNumber": "8",
"bundleIdentifier": "com.empresa.proyectid"
}
}
}
Luego, lanza el siguiente comando, que como ya está configurado, solo se subirá. Te pedirá de nuevo el correo y la contraseña y subirá a expo.dev para generar el .ipa
.
eas build --platform ios
Una vez listo, lanza la siguiente petición. Como ya sabe dónde está la clave API, subirá directamente y solo quedará esperar a que expo.dev termine y te avise si todo fue correcto.
eas submit -p ios --latest